rd = rs1 + rs2
→ 將 rs1 和 rs2 相加,結果存入 rd。rd = rs1 - rs2
→ 將 rs1 減去 rs2,結果存入 rd。rd = rs1 << rs2[4:0]
→ 將 rs1 向左邊位移 rs2 的低 5 位數,結果存入 rd。rd = rs1 <s rs2
→ 如果 rs1 小於 rs2(有號數比較),rd 設為 1,否則設為 0。rd = rs1 <u rs2
→ 如果 rs1 小於 rs2(無號數比較),rd 設為 1,否則設為 0。rd = rs1 ^ rs2
→ 將 rs1 和 rs2 進行逐位異或,結果存入 rd。rd = rs1 >> rs2[4:0]
→ 將 rs1 向右邊無號位移 rs2 的低 5 位數,結果存入 rd。rd = rs1 >>s rs2[4:0]
→ 將 rs1 向右邊有號位移 rs2 的低 5 位數,結果存入 rd。rd = rs1 | rs2
→ 將 rs1 和 rs2 進行逐位或運算,結果存入 rd。rd = rs1 & rs2
→ 將 rs1 和 rs2 進行逐位與運算,結果存入 rd。rd = rs1 + imm
→ 將 rs1 加上立即數 imm,結果存入 rd。rd = rs1 <s imm
→ 如果 rs1 小於立即數 imm(有號數比較),rd 設為 1,否則設為 0。rd = rs1 <u imm
→ 如果 rs1 小於立即數 imm(無號數比較),rd 設為 1,否則設為 0。rd = rs1 ^ imm
→ 將 rs1 和立即數 imm 進行逐位異或,結果存入 rd。rd = rs1 | imm
→ 將 rs1 和立即數 imm 進行逐位或運算,結果存入 rd。rd = rs1 & imm
→ 將 rs1 和立即數 imm 進行逐位與運算,結果存入 rd。M[rs1 + imm][0:7] = rs2[0:7]
→ 將 rs2 的低 8 位數儲存到記憶體位置 M[rs1 + imm] 中。M[rs1 + imm][0:15] = rs2[0:15]
→ 將 rs2 的低 16 位數儲存到記憶體位置 M[rs1 + imm] 中。M[rs1 + imm][0:31] = rs2[0:31]
→ 將 rs2 的低 32 位數儲存到記憶體位置 M[rs1 + imm] 中。M[rs1 + imm][0:63] = rs2[0:63]
→ 將 rs2 的低 64 位數儲存到記憶體位置 M[rs1 + imm] 中。if (rs1 >u rs2) pc += imm
→ 如果 rs1 小於 rs2(無號數比較),跳轉到 pc + imm 的位置。if (rs1 >=s rs2) pc += imm
→ 如果 rs1 大於等於 rs2(有號數比較),跳轉到 pc + imm 的位置。if (rs1 >=u rs2) pc += imm
→ 如果 rs1 大於等於 rs2(無號數比較),跳轉到 pc + imm 的位置。lui imm rd
→ 將立即數 imm 儲存到 rd 的高 20 位數中。auipc imm rd
→ 將 pc 和立即數 imm 相加,結果存入 rd。jal imm rd
→ 跳轉到 pc + imm 的位置,並將返回地址存入 rd。